package com.hongpu.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 张玉胜
 * @since 2025年05月09日
 */
@Data
public class HpProjectWorkPayListNewVo implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * HpProjectWorkPayList数据ID 和 HpProjectWorkPayListDetail数据ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 项目的回款与支出ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long projectWorkPayId;


    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long parentId;
    /**
     * 回款单位/支付单位
     */
    private String payUnit;
    /**
     * 合同内容
     */

    private String contractContent;
    /**
     * 约定时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date appointedTime;

    /**
     * 实际时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date actualTime;

    /**
     * 合同中约定的每次回款额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "#.##")
    private BigDecimal contractAmount  =  BigDecimal.ZERO;;

    /**
     * 已支付
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "#.##")
    private BigDecimal paid  =  BigDecimal.ZERO;;

    /**
     * 未支付
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "#.##")
    private BigDecimal unpaid  =  BigDecimal.ZERO;;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否开发票。1=是，0=否
     */

    private Integer invoiceOrNot;

    /**
     * 发票类型；1=普票。2=增值税
     */

    private Integer invoiceType;

    /**
     * 发票税率
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "#.##")
    private BigDecimal invoiceTaxRate;

    /**
     * 不含税金额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "#.##")
    private BigDecimal amountBeforeTax;

    /**
     * 税额
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "#.##")
    private BigDecimal theAmountOfTaxToBePaid;


    /**
     * 是否已经对外开出发票。1=已开，0=未开
     */

    private Integer itHasBeenInvoiced;


}